HTTP(Hypertext Transfer Protocol)
#resource
#web
작성일:2025. 4. 15.
수정일:2025. 4. 16.
HTTP(Hypertext Transfer Protocol)는 웹에서 데이터를 주고받기 위한 애플리케이션 계층 프로토콜 이다. 클라이언트와 서버 간의 통신을 담당한다.
주요 특징#
- 무상태성: 각 요청은 독립적으로 처리되며, 서버는 이전 요청에대한 정보를 저장하지 않는다.
- 비연결성: 요청-응답 후 연결을 끊는다. (HTTP/1.1에서는 연결을 유지할 수 있음)
- 요청/응답구조: 클라이언트가 요청을보내면, 서버는 응답을 반환한다.
Tip
무상태성 이라는 특성 때문에 서버는 클라이언트와 재 연결이 되도 클라이언트를 식별하지 못한다. 그 문제를 해결하기 위해서 쿠키와 세션이라는 개념이 등장했다.
HTTP의 요청-응답#
HTTP 요청과 응답은 둘 다 각각 세부분으로 구성된다
HTTP 요청#
-
요청라인
- HTTP 메소드: 수행할 작업 유형(GET,POST 등)
- URI(Uniform Resource Identifier): 요청하는 리소스의 경로
- HTTP 버전: 사용하는 HTTP 프로토콜 버전
예)
GET /index.html HTTP/1.1
-
헤더 요청에 대한 추가 정보를 제공하는 키-값
Host
: 요청을 보내는 서버의 도메인 이름User-Agent
: 클라이언트 프로그래 정보(브라우저 종류 등)Accept
: 클라이언트가 처리할 수 있는 콘텐츠 유형Content-Type
: 요청 본문의 미디어 타입Cookie
: 서버에서 이전에 설정한 쿠키 정보
Httphttp -
본문 주로 POST 나 PUT 메소드에서 서버로 보내는 데이터를 포함한다. GET 요청은 일반적으로 본문이 없다.
JSONjson
HTTP 응답#
-
상태 라인
- HTTP 버전: 사용된 HTTP 프로토콜 버전
- 상태코드: 요청 처리 결과를 나타내는 3자리 숫자
- 상태 메시지: 상태 코드에 대한 간략한 설명
-
헤더-응답에 대한 추가 정보를 제공하는 키-값 쌍
Content-Type
: 응답 본문의 미디어 타입Content-Length
: 응답 본문의 크기Server
: 서버 소프트웨어 정보Set-Cookie
: 클라이언트에 저장할 쿠키 정보